<?php

    require_once Core_IO_Path::combine(SERUM_LIB_PATH, 'SitemapGenerator', 'sitemap.php');

    /**
     * Sitemap parser
     *
     * @package      Core
     * @subpackage   Parser
     *
     * @license      GNU Lesser General Public Licence see LICENCE-LGPL file or http://www.gnu.org/licenses/lgpl.html
     */
	class Core_Parser_Sitemap
	{

	////////////////////////////////////////////////////////////////////////////
	//                               Attributes                               //
	////////////////////////////////////////////////////////////////////////////

        /**
         * Cache data
         *
         * @var     array
         */
        protected $_data = array();

        /**
         * Parser instance
         *
         * @var     siteMapMain
         */
        protected $_parser = null;

	////////////////////////////////////////////////////////////////////////////
	//                              Getters / Setters                         //
	////////////////////////////////////////////////////////////////////////////

        /**
         * Adds an URL in sitemap
         *
         * @param       string      $loc
         * @param       string      $lastmod : YYYY-mm-dd
         * @param       string      $changefreq
         * @param       float       $priority
         */
        public function addUrl($loc, $lastmod = null, $changefreq = 'never', $priority = 0.5)
        {
            $this->_parser->addURL($loc, $lastmod, $changefreq, $priority);
        }

	////////////////////////////////////////////////////////////////////////////
	//                                 Methods                                //
	////////////////////////////////////////////////////////////////////////////

		/**
		 * Constructor
         *
		 */
		public function __construct()
		{
            $this->_parser = new siteMapGenerator();
		}

		/**
		 * Destructor
		 */
		public function __destruct()
		{
			unset($this);
		}

		/**
		 * Parses an URL
		 *
		 * @param		string		$fileName
		 * @throws		Core_ArgumentException
		 * @return		array
		 */
		public function write($fileName)
		{
            $this->_parser->write($fileName);

            return $this;
        }
	}
